/**
 * 
 */

//StringBuffer 
function StringBuffer() { 
	this.buffer = []; 
} 
StringBuffer.prototype.append = function append(string) { 
	this.buffer.push(string); 
	return this; 
}; 
StringBuffer.prototype.toString = function toString() { 
	return this.buffer.join(""); 
}; 

function slideFileTablaGestionPerfil(strIdDivContenedor){
	if($("#" + strIdDivContenedor).is(":visible")){
		$("#" + strIdDivContenedor).slideUp("slow");
	}else{
		$("#" + strIdDivContenedor).slideDown("slow");
	}
}

function noNulo(strCadena){
	return (strCadena!=null?strCadena:"");
}

function primeraEnMayuscula(strCadena){
	strCadena = noNulo(strCadena);
	return (strCadena!=null && strCadena.length>0?strCadena.charAt(0).toUpperCase()+strCadena.substring(1).toLowerCase():strCadena);
}

function generarMensaje(strMensaje, opciones) {
	var sbMensaje = new StringBuffer(); 
	var blMensajeOK = true;
	var claseMensaje = null;
	opciones = $.extend({
		tipoMensaje: null // exito, informativo, error
	}, opciones); 
	if(opciones.tipoMensaje=="exito"){
		claseMensaje = "divMensajeExitoDefecto";
	}else if(opciones.tipoMensaje=="informativo"){
		claseMensaje = "divMensajeInformacionDefecto";
	}else if(opciones.tipoMensaje=="error"){
		claseMensaje = "divMensajeErrorDefecto";
	}else{
		blMensajeOK = false;
	}
	if(blMensajeOK){
		sbMensaje.append("<div class='divMensajeDefecto ");
		sbMensaje.append(claseMensaje);
		sbMensaje.append(" fuenteGeneralDefecto'>");
		sbMensaje.append("<div class='divCerrarMensajeDefecto' onclick='$(this).parent().remove()'>[X]</div>");
		sbMensaje.append(strMensaje);
		sbMensaje.append("</div>");
		return $(document.createElement("div")).html(sbMensaje.toString());
	}else{
		return null;
	}
}

/*(function($){  
	$.fn.altMrl = function(strTexto) {  
		for ( var i = 0; i < this.length; i++) {
			$(this[i]).hover(
					function(e){
						this._id_div_alt_mrl = "div_alt_mrl";
						//si existe 
						if($("#" + this._id_div_alt_mrl).length > 0){
							$("#" + this._id_div_alt_mrl).remove();
						}
						$("body").append("<div id='" + this._id_div_alt_mrl + "' style='font-size: 0.7em; color: #ffffff; font-weight: bold; border: 0.08em solid black; background-color: #000000; padding: 0.2em; position: absolute; z-index: 100; top: " + e.pageY + "px; left: " + e.pageX + "px; opacity: 0; filter:alpha(opacity=0);'>" + strTexto + "</div>");
						$("#" + this._id_div_alt_mrl).fadeTo(500, 1,function() {
							$(this).fadeTo(2000, 0, function() {
								$(this).remove();
							});
						});
					});
		}
	};  
	threadedEach = function (arr, fn, settings) {
		settings = $.extend({
			wait: 100,
			after: null
		}, settings);
		var i = 0,
			wait = function () {
				setTimeout(function () {
					if ($.isFunction(fn) && i < ((arr.size && arr.size()) || arr.length)) {
						if (arr instanceof $) {
							fn.apply($(arr).eq(i), [i]);
						} else {
							fn.apply(arr[i], [i]);
						}
						i++;
						wait();
					} else if ($.isFunction(settings.after)) {
						settings.after.apply(window);
					}
				}, settings.wait);
			};

		if ($.isArray(arr) || arr instanceof $) {
			wait();
		}

		return arr;
	};
	$.fn.extend({
		threadedEach: function (fn, settings) {
			return $.threadedEach(this, fn, settings);
		}
	});
})(jQuery);*/

function mostrarFormularioLogin(strResultado){
	$("#divGeneralFormularioPrincipal").fadeOut(500, function(){
		$(this).remove();
		limpiarFormularioLogin();
		if(strResultado!=null && strResultado.length>0){
			$("#divMensaje1FormularioLogin").html(strResultado);
		}
		$("#divGeneralFormularioLogin").show("slow", function(){
			$("#strUsuarioLoginFormularioLogin").focus();
		});
	});
}

function strSinCaracteresEspeciales(strCadena) { 
	if(strCadena!=null){
		/*
		return noNulo(strCadena)       
			//.replace(/&/g, "&amp;")      
			.replace(/</g, "&lt;")       
			.replace(/>/g, "&gt;");      
			//.replace(/"/g, "&quot;")       
			//.replace(/'/g, "&#039;"); 
		*/
		///\+_*"'<>{}][
		return strCadena 
			//.replace(/\//g, "-")   
			//.replace(/\\/g, "-")     
			//.replace(/[/g, "-")   
			//.replace(/]/g, "-")  
			//.replace(/{/g, "-")   
			//.replace(/}/g, "-")         
			.replace(/</g, "-")       
			.replace(/>/g, "-") 
			.replace(/"/g, "-")       
			.replace(/'/g, "-"); 
	}
	return strCadena;
	
} 

function intIsNan(objValue){
	return isNaN(objValue)?0:objValue;
}

function mostrarMensajeFadeInOut(strIdDivMensaje, objHtmlMensaje){
	//objHtmlMensaje.hide();
	$("#" + strIdDivMensaje).prepend(objHtmlMensaje);
	/*
	$(objHtmlMensaje).fadeIn("fast", function(){
		$(this).delay(5000).fadeOut("slow", function(){
			$(this).remove();
		});
	});
	*/
}

